package threading;

//把这个类变成单例模式  饿汉模式线程安全
class Singleton {
    //唯一实例的本体
    private static Singleton instance = new Singleton();

    //提供一个获取到私有属性的方法
    public static Singleton getInstance() {
        return instance;
    }

    //把构造方法私有化，进行封装之后，外部类就不可以在进行new对象了，
    // 前提是我们在类的内部已经实例化好了一个对象，这样就是单例模式了
    //封装的私有构造方法，即是进行外部类new对象
    private Singleton() { }
}
public class ThreadDemo10Single {
    public static void main(String[] args) {

        //此处获取到的都是同一个对象，即是s1 和 s2 是同一个对象
        Singleton s1 = Singleton.getInstance();
        Singleton s2 = Singleton.getInstance();

        //注意不可以再实例化对象了，会进行报错
        //Instance s3 = new Instance();
    }
}
